package com.freemalll.merchant.domain.vo;

import com.freemalll.merchant.utils.ColumnName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @author songshixiong
 * @ClassName MerchantAuditDetail
 * @description:
 * @date 2025年05月28日
 * @version: 1.0
 */
@Data
public class MerchantAuditDetailVo {

    @Schema(description = "商户id")
    private String merId;

    @Schema(description = "申请编码")
    private String applyCode;

    @Schema(description = "商户名称")
    private String merName;

    @Schema(description = "工商状态 第三方接口返回")
    private String businessStatus;


    private String sceneParentCategoryName;


    private String sceneCategoryName;
    private String sceneName;

    @Schema(description = "场景父类别")
    private String sceneParentCategory;

    @Schema(description = "场景类别")
    private String sceneCategory;


    @Schema(description = "商户模式:1直客;2渠道")
    @ColumnName("商户模式:")
    private Integer merModel;

    @Schema(description = "是否流量商户")
    private Integer trafficMerchant;

    @Schema(description = "申请类型")
    private String applyType;
    private String applyTypeName;

    @Schema(description = "申请说明")
    private String applyDesc;

    @Schema(description = "申请时间  提交复审的时间")

    private LocalDateTime applyTime;

    @Schema(description = "门店类型")
    @ColumnName("门店类型:")
    private String storeType;
    @Schema(description = "门店类型")
    @ColumnName("门店类型:")
    private String storeTypeName;

    @Schema(description = "关联商户id")
    private String relatedMerId;

    @Schema(description = "关联商户名称")
    @ColumnName("关联商户名称:")
    private String relatedMerName;

    @Schema(description = "品牌类型")
    @ColumnName("品牌类型:")
    private String brandType;
    @Schema(description = "品牌类型")
    @ColumnName("品牌类型:")
    private String brandTypeName;

    @Schema(description = "品牌名称")
    @ColumnName("品牌名称:")
    private String brandName;

    @Schema(description = "负面信息 第三方接口返回")
    private String negativeInformation;

    @Schema(description = "商户等级")
    private String merLevel;

    @Schema(description = "商户额度")
    private BigDecimal merchantCreditLimit;

    @Schema(description = "商户标签")
    private String label;

    @Schema(description = "商户标签名称")
    private String labelName;

    @Schema(description = "申请政策")
    private String applyPolicy;

    @Schema(description = "申请政策名称")
    private String applyPolicyName;

    @Schema(description = "特殊申请")
    private String specialApply;

    @Schema(description = "审核状态 WITHDRAW：取消申请 SUBMIT_INITIAL_REVIEW：待提交初审 INITIAL_REVIEW_RETURNED：初审退回 INITIAL_REVIEW_PASSED：初审通过 PENDING_APPROVAL：待审核 APPROVING：审核中 SUPPLEMENTARY_PARTS：待补件 REVIEW_REFUSED：复审拒绝 REVIEW_RETURNED：复审退回 PENDING_SIGNING: 审核通过")
    private String authStatus;
    @Schema(description = "案件下审核结论")

    private String authResult;
    private String authResultName;

    @Schema(description = "拒绝结论原因")
    private String refusedReason;
    private String refusedReasonName;

    @Schema(description = "拒绝结论备注")
    private String refusedRemark;

    @Schema(description = "商户审核综合意见")
    private String remarks;

    @Schema(description = "审批政策 多选逗号隔开")
    private String auditPolicy;

    @Schema(description = "审批政策 多选逗号隔开")
    private String auditPolicyName;

    @Schema(description = "是否开启lbs验证 1 是 0 否")
    private Boolean lbsFlag;

    @Schema(description = "限额方式：日限额，月限额，无限额")
    private String amountLimitType;

    @Schema(description = "限额方式：日限额，月限额，无限额")
    private String amountLimitDesc;

    @Schema(description = "日限额")
    private BigDecimal dailyLimit;

    @Schema(description = "月限额")
    private BigDecimal monthlyLimit;

    @Schema(description = "合同签约 1线上签约  2 线下签约")
    private Integer contractAward;

    @Schema(description = "补件次数")
    private Integer supplementNum;

    @Schema(description = "审核结束时间")
    private LocalDateTime authEndDate;

    @Schema(description = "获客方式枚举值")
    private String customerAcquisitionMethod;

    @Schema(description = "获客方式枚举值描述")
    private String customerAcquisitionMethodDesc;

}

